#!/bin/bash

# ------------------------------------------------------------------
#  SSHFS 配置生成工具
# 交互式创建包含所有参数的配置文件
# ------------------------------------------------------------------

CONFIG_DIR="${HOME}/.sshfs/config"
mkdir -p "$CONFIG_DIR"

echo "██████████████████████████████████████████████"
echo "█           SSHFS 配置文件生成工具          █"
echo "██████████████████████████████████████████████"

# 必需参数
echo ""
read -p "» 请输入配置名称（英文）: " CONFIG_NAME
read -p "» 远程服务器地址/IP (必填): " REMOTE_HOST
read -p "» 远程目录路径 (必填，如 /data): " REMOTE_DIR
read -p "» 本地挂载点绝对路径 (必填，如 ~/Volumes/mount): " LOCAL_MOUNT_POINT

# 可选参数
echo ""
echo "可选参数（可直接回车跳过）:"
read -p "» 远程用户名 [默认空]: " REMOTE_USER
read -p "» SSH 端口 [默认 22]: " SSH_PORT
read -p "» SSH 私钥路径 [默认空]: " SSH_KEY
read -p "» 自定义卷名称 [默认空]: " VOLUME_NAME
read -p "» 日志文件路径 [默认空]: " LOG_FILE  # 新增的日志配置项

# 设置默认值
SSH_PORT=${SSH_PORT:-22}

# 生成配置文件
CONFIG_FILE="${CONFIG_DIR}/${CONFIG_NAME}.cfg"

cat > "$CONFIG_FILE" <<EOF
# SSHFS 配置文件 - 生成于 $(date "+%Y-%m-%d %H:%M:%S")

# ─────────── 必需参数 ───────────
REMOTE_HOST="${REMOTE_HOST}"
REMOTE_DIR="${REMOTE_DIR}"
LOCAL_MOUNT_POINT="${LOCAL_MOUNT_POINT}"

# ─────────── 可选参数 ───────────
REMOTE_USER="${REMOTE_USER}"
SSH_PORT="${SSH_PORT}"
SSH_KEY="${SSH_KEY}"
VOLUME_NAME="${VOLUME_NAME}"
LOG_FILE="${LOG_FILE}"  # 新增的日志变量
EOF

echo ""
echo "██████████████████████████████████████████████"
echo "配置文件已生成: ${CONFIG_FILE}"
echo "请检查以下内容:"
echo "----------------------------------------------"
cat "$CONFIG_FILE"
echo "----------------------------------------------"

# 设置文件权限
chmod 600 "$CONFIG_FILE"
echo "» 文件权限已设置为 600"